<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="__PUBLIC__/Css/Admin/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">var _public_='__PUBLIC__';</script>
<script type="text/javascript" src="__PUBLIC__/Js/common.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/MarkerTool/1.2/src/MarkerTool_min.js"></script>
</head>

<body style="background-color:#FFF; margin:0px; padding:0px; overflow:hidden;">
<center>
<div style="width:760px;height:390px;border:1px solid gray" id="container"></div>
<div style="margin-top:8px;">
<input type="button" value="标注地图" onClick="mkrTool.open()" id="btn_mkrTool" class="button3" />
&nbsp;<input type="button" value="确定标注" onClick="mkr_confirm()" class="button3" />
</div>
</center>
<script type="text/javascript">
<!--{literal}-->
function GetQueryString(name)
{
	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r!=null) return decodeURIComponent(r[2]);
	return null;
}
var c_city = GetQueryString('city');
var longitude = GetQueryString('longitude');
var latitude = GetQueryString('latitude');
var m_pos = null;

var map = new BMap.Map("container"); // 创建地图实例
map.setCurrentCity(c_city); // 仅当设置城市信息时，MapTypeControl的切换功能才能可用
map.enableScrollWheelZoom();//启用滚轮放大缩小
map.addControl(new BMap.NavigationControl());  //添加平移缩放控件
map.addControl(new BMap.MapTypeControl());  //添加地图类型控件，地图或三维地图
//自定义一个本地搜索控件
// 定义一个控件类，即function  
function MsearchControl(){  
 // 设置默认停靠位置和偏移量  
 this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;  
 this.defaultOffset = new BMap.Size(10, 40);  
}  
// 通过JavaScript的prototype属性继承于BMap.Control  
MsearchControl.prototype = new BMap.Control();
// 自定义控件必须实现initialize方法，并且将控件的DOM元素返回  
// 在本方法中创建个div元素作为控件的容器，并将其添加到地图容器中  
MsearchControl.prototype.initialize = function(map){  
 // 创建一个DOM元素  
 var div = document.createElement("div");  
 // 添加搜索框与按钮 
 div.innerHTML = '<input name="kw" id="kw" type="text" size="10" /><input type="button" value="搜索" onclick="msearch()" />';
 // 设置样式  
 div.style.border = "1px solid gray";   
 // 添加DOM元素到地图中  
 map.getContainer().appendChild(div);  
 // 将DOM元素返回  
 return div;  
}
// 创建控件实例  
var myMsearchCtrl = new MsearchControl();  
// 添加到地图当中  
map.addControl(myMsearchCtrl);
function msearch()
{
	var kw = document.getElementById('kw').value;
	if(kw == ''){
		return;
	}
	var local = new BMap.LocalSearch(c_city, {  
 											renderOptions: {  
   															map: map,  
   															autoViewport: true,  
   															selectFirstResult: false  
 															},  
  											pageCapacity: 20  
									});  
	local.search(kw);
}

var point = null;
if(longitude != 0 && latitude != 0){
	point = new BMap.Point(longitude, latitude); // 创建点坐标
	map.centerAndZoom(point, 15);
	var marker = new BMap.Marker(point);        // 创建标注  
	map.addOverlay(marker);                     // 将标注添加到地图
	marker.enableDragging();	//开启标注拖拽功能
	//监听标注拖拽事件，可实现地图标注功能
	marker.addEventListener("dragend", function(e){
												mkr_handler(e.point);
	})
	document.getElementById('btn_mkrTool').disabled = 'disabled';
}else{
	map.centerAndZoom(c_city); // 初始化地图，设置中心点坐标和地图级别
}
//标注工具
var mkrTool = new BMapLib.MarkerTool(map, {autoClose: true, followText: "添加标注"});
mkrTool.addEventListener("markend", function(e) {
											 	var _marker = e.marker;
												_marker.enableDragging();	//开启标注拖拽功能
												//监听标注拖拽事件，可实现地图标注功能
												_marker.addEventListener("dragend", function(e){  
																							 mkr_handler(e.point);
												});
											 	var pos = _marker.getPosition();
													mkr_handler(pos);
													document.getElementById('btn_mkrTool').disabled = 'disabled';
												});
function mkr_handler(pos)
{
	m_pos = pos;
}
function mkr_confirm()
{
	self.parent.mkr_handler(m_pos);
}
<!--{/literal}-->
</script>
</body>
</html>
